A code symbol reading device (e.g., barcode scanner, barcode reader, RFID reader) is a specialized input device for certain data systems commonly used by retailers, industrial businesses, and other businesses having a need to manage large amounts of inventory. Code symbol reading devices are often employed to read barcodes. A barcode is a machine-readable representation of information in a graphic format. The most familiar of these graphic symbols is a series of parallel bars and spaces of varying widths, which format gave rise to the term “barcode.” The adoption of the Universal Product Code (UPC) version of barcode technology 1973 quickly led to a revolution in logistics by obviating the need for manual retry of long number strings.
Most barcode scanners operate by projecting light from an LED or a laser onto the printed barcode, and then detecting the level of reflected light as the light beam sweeps across the barcode. Using this technique, the barcode scanner is able to distinguish between dark areas and light areas on the barcode. More light is reflected from the light areas on the barcode than the dark areas, so the optical energy reflected back to the barcode scanner will be a signal containing a series of peaks corresponding to the light areas and valleys corresponding to the dark areas. A processor converts the received optical signal into an electrical signal. The processor decodes the peaks and valleys of the signal to decode the information (e.g., product number) represented by the code symbol.
Typically, barcode scanners have been designed to read barcodes in the near range (e.g., barcodes located less than about three feet from the barcode scanner). Recently, advancements have been made in developing barcode scanners capable of reading barcodes in the far range (e.g., barcodes located about 30 feet or more from the barcode scanner). Attempting to gather readings from a barcode located at these greater distances from the barcode scanner presents significant challenges. In particular, the further away that the barcode is from the barcode scanner, the weaker the return laser light signal will be at the time of signal detection at the photodetector. For barcode scanners having a substantially large scanning range (e.g., working range), in particular, this potentially dramatic variation in signal intensity strength at the photodetector places great demands on the electronic signal processing circuitry, and its ability to deliver sufficient signal-to-noise ratio (SNR) performance over broad dynamic ranges of input signal operation.
Consequently, great efforts have been made over the past few decades to provide laser scanning type barcode scanners, in particular, with automatic gain control (AGC) capabilities that aim to control the gain of the various analog scan data signal processing stages, regardless of input laser return signal strength. In general, feedback control is implemented in the analog domain, and the gain of an amplified stage is adjusted according to a controller. The controller could be, but is not limited to, proportional control, PID control or fuzzy logic control, etc. Also, the amplifier refers to, but is not limited to preamplifier or gain stages along the signal path.
The ability of these techniques of applying gain control to the received signal to achieve greater dynamic range is limited, for example, by the existence of laser noise. Increasing the gain of the received signal also results in proportional increases to signal noise (e.g., laser noise), which can significantly interfere with the ability to decode the scanned barcode.
Therefore, a need exists for a system for reading code symbols in a scanning field that increases the strength of the signal received by the photodetector without resulting in an increase in the strength of signal noise, thereby reducing the overall signal-to-noise ratio of the signal.